package com.tp2.etna.distribucion2.controller;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.tp2.etna.distribucion2.modelo.Entrega;
import com.tp2.etna.distribucion2.service.ActualizarCantidadEntregaService;

@Controller
public class ActualizarCantEntregaController {

	@Autowired
	private ActualizarCantidadEntregaService actualizarCantidadEntregaService;
	
	@RequestMapping(value = "/actualizarCantEntrega", method = RequestMethod.GET)
	public String actualizarCantEntrega() {   
		return "dist2_actualizarCantEntrega";
	 }
	
	@RequestMapping(value = "/entregas/pendientes", method = RequestMethod.GET,produces={"application/json"})
	public @ResponseBody List<Entrega> obtenerEntregasPendientes(@RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd")Date fecha) {  
		
		return actualizarCantidadEntregaService.obtenerEntregasPendientes(fecha);
	 }
	
	@RequestMapping(value = "/actualizarCantEntregaDetalle", method = RequestMethod.GET,produces={"application/json"})
	public String actualizarCantEntregaDetalle(ModelMap model,@RequestParam("id") int id) {  		
		
		try {
			model.addAttribute("entregaDetalleId", id);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return "dist2_actualizarCantEntregaDetalle";
	 }
	
	@RequestMapping(value = "/entrega/obtenerEntregaDetalle/{id}", method = RequestMethod.GET,produces={"application/json"})
	public @ResponseBody Entrega obtenerEntrega(ModelMap model,@PathVariable("id") int id) {  		
		
		return actualizarCantidadEntregaService.obtenerEntrega(id);
	 }
	
	@RequestMapping(value="/entrega/actualizarCantidadEntrega/{id}", method = RequestMethod.POST,produces={"application/json"})
	public @ResponseBody Integer  actualizarCantidadEntrega(@RequestBody Entrega entrega,@PathVariable("id") int id) {
		return actualizarCantidadEntregaService.actualizarCantidad(entrega);
	}
	
	
}
